1. Field of the Present Invention
The present invention generally relates to the field of data delivery over the Internet and more particularly to a web-based system and method for the improved electronic delivery of multiple data streams over the Internet.
2. History of Related Art
The Internet, also referred to as a global computer network or network of computer networks, generally includes computers connected through a set of communication protocols known as Transmission Control Protocol/Internet Protocol (“TCP/IP”). One popular component of the Internet is the World Wide Web (“WWW” or the “web”), which is a collection of resources on servers on the Internet that utilize an application protocol known as the Hypertext Transfer Protocol (“HTTP”) for controlling access to those resources.
Like many network protocols, HTTP uses a client-server model. An HTTP client, such as a remote user, opens a connection and sends a request message to an HTTP server, such as a web server, which then returns a response message to the client. The requests for resources generally involve either a request for transmission of data from the server to the client or the transmission of data from the client to the server.
With the significant increases in Internet usage and the corresponding increased loads being placed on servers to respond to requests for resources from a large number of clients concurrently, protocols have been generally implemented to limit the number of simultaneous connections that a server will permit a single client to make with the server during a particular access session. While some of these protocols implement a mandatory limitation, others implement a voluntary limitation.
For example, internet service application like the current MICROSOFT WINDOWS Internet Services (“WinInet”) (MICROSOFT, WINDOWS and WinInet are trademarks of MICROSOFT CORPORATION) application limits the number of connections that may be made to HTTP servers to four simultaneous connections for an HTTP 1.0 server and two simultaneous connections for an HTTP 1.1 server. The current HTTP 1.1 specification mandates the two connection limit. The four connection limit for HTTP 1.0, on the other hand, is currently an industry self-imposed limitation which (at or near the time it was implemented) coincided with the standard used by a number of popular web browsers. Information on the HTTP 1.1 specification can be found in Request for Comment 2068 (RFC 2068) published by the Internet Working Group of the Internet Engineering Task Force, and which is incorporated herein by reference.
While these limitations are intended to reduce the congestion in gaining access to a server, they also have the negative side effect of limiting the ability of a client to communicate with a particular server. This limitation has significant impact in those instances where the need exists for a client to transfer large amounts of data from multiple data streams to a particular server in a real-time manner. The traditional solution consists of processing and transmitting each data stream in a linear order. That is, once assigned to an available physical connection to the server, the applicable data continues to maintain that connection (to the exclusion of the other data streams) until all data from the applicable data stream is transmitted. The result is that data from multiple data streams is transmitted in a linear, queued fashion, rather than in a real-time or near real-time manner.
It would be beneficial to implement a system and method for the efficient transmission of data from multiple data streams to a server in a real-time or near real-time manner.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description presented herein are not intended to limit the invention to the particular embodiment disclosed, but on the contrary, the invention is limited only by the language of the appended claims.